.\"
.\" Copyright 2025 by The c-ares project and its contributors
.\" SPDX-License-Identifier: MIT
.\"
.TH ARES_SET_QUERY_ENQUEUE_CB 3 "14 Sep 2025"
.SH NAME
ares_set_query_enqueue_cb \- Function for setting a callback which is triggered
when a new query is enqueued on the wire.
.SH SYNOPSIS
.nf
#include <ares.h>

typedef void (*ares_query_enqueue_cb)(void *\fIdata\fP);

void ares_set_query_enqueue_cb(
  ares_channel_t        *\fIchannel\fP,
  ares_query_enqueue_cb  \fIcallback\fP,
  void                  *\fIuser_data\fP);

.fi

.SH DESCRIPTION
The \fIares_set_query_enqueue_cb(3)\fP function sets a callback
function \fIcallback\fP in the given ares channel handle \fIchannel\fP that
is invoked whenever there is a new query enqueued onto the wire.  This can be
used to wake an event subsystem which may otherwise only be notified of socket
state changes, but needs a notification to be able to calculate query timeouts.

This function may be called with the \fIcallback\fP set to NULL to remove the
callback.

.SH AVAILABILITY
This function was first introduced in c-ares version 1.35.0.

.SH SEE ALSO
.BR ares_init_options (3)
